]> dgit.raspbian.org Git - gnome-shell.git/log
gnome-shell.git
14 months agoshell-tray-icon: Use available space when that's defined
Marco Trevisan (Treviño) [Wed, 1 May 2024 02:18:50 +0000 (04:18 +0200)]
shell-tray-icon: Use available space when that's defined

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/7613
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3818>

14 months agotray/na-xembed: Use XShape to remove input on socket window
Marco Trevisan (Treviño) [Wed, 1 May 2024 20:34:58 +0000 (22:34 +0200)]
tray/na-xembed: Use XShape to remove input on socket window

We don't want this window to take any input as, a part from blocking the
events on the shell representation itself, they may potentially make the
plugged window to do anything with the event is processing (such as
showing tooltips). And we don't want this since we only want to send to
those windows only the synthetic events that we explicitly control.

This was already the case before of commit ab60902058 but a similar
approach was not replicated, leading to input events being fully
processed from tray icons plugs.

It requires adding an explicit build dependency on Xext, but this is
something that mutter already depends on so not really a new dependency

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/7613
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3818>

14 months agobuild: Add explicit dependency on Xfixes
Marco Trevisan (Treviño) [Wed, 1 May 2024 20:33:43 +0000 (22:33 +0200)]
build: Add explicit dependency on Xfixes

We use the xfixes extensions in tray icons but we rely on the dependency
brought to us from other libraries as mutter but let's make it explicit

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3818>

14 months agounlockDialog: Do not reset the auth prompt on every tap
Marco Trevisan (Treviño) [Mon, 25 Aug 2025 23:11:18 +0000 (01:11 +0200)]
unlockDialog: Do not reset the auth prompt on every tap

Currently we have a tap event tracker that causes that every time a tap
happens in the lock screen, we reset the auth prompt and this can be
particularly annoying at least in three cases:
 1. Just clicking everywhere in the screen may lead the unlock entry
    content to be cleared
 2. Clicking in the screen while an authentication is in progress,
    cancels it
 3. This may break a multi-factor authentication method, as a single
    click may lead previous steps to be cancelled

So, while resetting the auth prompt is important when we're about to
show it, it's not something we want to do while an authentication has
started.

As per this also do not touch the auth prompt sensitivity unless we're
in an idle phase, or we may end up overriding the auth prompt state,
leading for example to a text entry being editable while we're verifying
the secret

Fixes: 37e55df29865dac13656116efdd7abec8056dea9
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3852>

14 months agoibusCandidatePopup: Fix scaling set-cursor-location-relative signal handling
Takao Fujiwara [Wed, 27 Aug 2025 09:00:30 +0000 (18:00 +0900)]
ibusCandidatePopup: Fix scaling set-cursor-location-relative signal handling

Need to convert the raw coordinates to the scaled ones in gnome-shell.
IBus GtkIMModule can calculate the relative coordinates and gnome-shell
needs to provide the actual scale.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/8424
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3729>

14 months agoUpdate Polish translation
Piotr Drąg [Tue, 26 Aug 2025 16:31:03 +0000 (18:31 +0200)]
Update Polish translation

14 months agoUpdate Japanese translation
Makoto Sakaguchi [Tue, 26 Aug 2025 12:46:19 +0000 (12:46 +0000)]
Update Japanese translation

14 months agoUpdate Polish translation
Piotr Drąg [Mon, 25 Aug 2025 15:57:52 +0000 (17:57 +0200)]
Update Polish translation

14 months agoUpdate Thai translation
Aefgh Threenine [Sun, 24 Aug 2025 04:44:14 +0000 (04:44 +0000)]
Update Thai translation

(cherry picked from commit 8617430a5eb020c4dc94d415be35276f457d2256)

14 months agoUpdate Czech translation
Daniel Rusek [Thu, 21 Aug 2025 14:58:16 +0000 (14:58 +0000)]
Update Czech translation

14 months agoUpdate Slovenian translation
Martin [Wed, 20 Aug 2025 14:10:53 +0000 (14:10 +0000)]
Update Slovenian translation

14 months agobuild: Include GioUnix-2.0 when scanning the libshell headers
Marco Trevisan (Treviño) [Wed, 20 Aug 2025 11:23:33 +0000 (13:23 +0200)]
build: Include GioUnix-2.0 when scanning the libshell headers

libshell exposes in the headers types that are part of GioUnix
(DesktopAppInfo), so we should make it an explicit dependency of the
introspection parser, or we may not be able to parse these types.

Related to: https://gitlab.gnome.org/GNOME/glib/-/issues/3744

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3846>

14 months agoextensionSystem: Fix extension enabling/disabling order
Kyrill Zorin [Mon, 11 Aug 2025 22:42:36 +0000 (23:42 +0100)]
extensionSystem: Fix extension enabling/disabling order

Move disabling of unneeded extensions before enabling new ones
in _onEnabledExtensionsChanged(). Previously, conflicting
extensions could simultaneously be active briefly, leading to
unclean states, memory leaks, freezes, or crashes.

The old logic also caused unnecessary disable/enable cycles
for newly requested extensions, wasting resources. Running
the disable step first prevents these issues.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3835>

14 months agoappMenu: Capitalize "Using"
Jamie Gravendeel [Thu, 28 Mar 2024 19:07:25 +0000 (20:07 +0100)]
appMenu: Capitalize "Using"

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3256>

14 months agoUpdate Catalan translation
Jordi Mas [Wed, 20 Aug 2025 03:04:00 +0000 (05:04 +0200)]
Update Catalan translation

14 months agostatus/network: Fix quicksettings enterprise connections
Mitchell Augustin [Mon, 11 Aug 2025 19:21:40 +0000 (14:21 -0500)]
status/network: Fix quicksettings enterprise connections

In d6779f34dac6c80e178a308314fe59884a65f383, the switch
to shell_app_activate_action() was made without
also wrapping the action parameter in an av variant.
This patch adjusts network.js to use the correct av
variant type when attempting to connect to an
enterprise AP from the quicksettings panel.

Fixes d6779f34dac6c80e178a308314fe59884a65f383
Closes https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/8590

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3834>

14 months agoUpdate Czech translation
Daniel Rusek [Tue, 19 Aug 2025 16:54:15 +0000 (16:54 +0000)]
Update Czech translation

14 months agoUpdate Czech translation
Daniel Rusek [Tue, 19 Aug 2025 14:16:24 +0000 (14:16 +0000)]
Update Czech translation

14 months agost/entry: Avoid crash in update_*_relation
Johannes Maibaum [Mon, 18 Aug 2025 20:26:10 +0000 (22:26 +0200)]
st/entry: Avoid crash in update_*_relation

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3839>

14 months agoUpdate Galician translation
Fran Diéguez [Sun, 17 Aug 2025 14:46:11 +0000 (14:46 +0000)]
Update Galician translation

14 months agoUpdate Persian translation
Danial Behzadi [Sat, 16 Aug 2025 10:37:58 +0000 (10:37 +0000)]
Update Persian translation

14 months agoUpdate Slovenian translation
Martin [Thu, 14 Aug 2025 15:26:23 +0000 (15:26 +0000)]
Update Slovenian translation

14 months agostatus: Set more descriptive labels for quick toggle menu buttons
Lukáš Tyrychtr [Tue, 5 Aug 2025 12:44:55 +0000 (14:44 +0200)]
status: Set more descriptive labels for quick toggle menu buttons

Make it clearer to screen reader users what menu buttons do by adding
descriptive labels that indicate opening menus for specific toggles.

Closes https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/8546.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3828>

14 months agoquickSettings: Allow setting accessible names for quick toggle menu buttons
Lukáš Tyrychtr [Tue, 5 Aug 2025 12:44:55 +0000 (14:44 +0200)]
quickSettings: Allow setting accessible names for quick toggle menu buttons

This allows to override the menu button's label.
This API will be used in the next commit.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3828>

14 months agostatus: Set descriptive menu button a11y names for quick sliders
Lukáš Tyrychtr [Tue, 5 Aug 2025 11:54:59 +0000 (13:54 +0200)]
status: Set descriptive menu button a11y names for quick sliders

Make it clearer to screen reader users what menu buttons do by adding
descriptive labels, and not using the generic one everywhere.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3828>

14 months agoquickSettings: Allow changing the accessible name for quick slider menu buttons
Lukáš Tyrychtr [Tue, 5 Aug 2025 11:54:59 +0000 (13:54 +0200)]
quickSettings: Allow changing the accessible name for quick slider menu buttons

Allow to specify a more descriptive accessible name for these buttons, this
will be used in the next commit to make the names unique.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3828>

14 months agoui: Tweak some animations
kramo [Sat, 9 Aug 2025 19:06:32 +0000 (21:06 +0200)]
ui: Tweak some animations

Changed some linear animations to be quad,
added a scale transition to popovers and notifications.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3830>

14 months agoshell: Use proper path to include girepository headers
Marco Trevisan (Treviño) [Tue, 12 Aug 2025 01:59:14 +0000 (03:59 +0200)]
shell: Use proper path to include girepository headers

girepository-2.0 headers are inside ${PREFIX}/include/glib-2.0/girepository
and the pkg-config file provides the glib-2.0 subpath as include
directory, so we are required to use the full header path, or we may not
be able to find them.

This is triggered a build failure in debian (with clean setup where no
libgirepository-1.0 was installed):

  ../src/shell-global.c:19:10: fatal error: girepository.h: No such file or
  directory
     19 | #include <girepository.h>

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3837>

14 months agoextensions-app: Use AdwPreferencesPage's banner property
Óscar Fernández Díaz [Mon, 11 Aug 2025 16:59:22 +0000 (18:59 +0200)]
extensions-app: Use AdwPreferencesPage's banner property

Simplifies the widget tree by removing the GtkBox between the main
GtkStackPage and its AdwPreferencesPage.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3833>

14 months agoextensions-app: Use new AdwPreferencesGroup's bind_model
Óscar Fernández Díaz [Mon, 11 Aug 2025 17:00:10 +0000 (19:00 +0200)]
extensions-app: Use new AdwPreferencesGroup's bind_model

Allows us to get rid of GtkListBox and bind extension models directly to
each AdwPreferencesGroup.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3833>

14 months agoslider: Always use physical direction on smooth scroll
Carlos Garnacho [Sat, 9 Aug 2025 07:43:11 +0000 (09:43 +0200)]
slider: Always use physical direction on smooth scroll

Let the slider use the physical scroll direction, unaffected
by "natural scroll" settings. These widgets are not a "view"
where this setting does make sense, but rather the expectation
is that it's directly manipulable.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/1012
Closes: https://bugzilla.gnome.org/show_bug.cgi?id=703046
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3831>

14 months agoenvironment: Mock more DesktopAppInfo methods
Florian Müllner [Sun, 10 Aug 2025 13:44:13 +0000 (15:44 +0200)]
environment: Mock more DesktopAppInfo methods

Commit ac113accf1e0927 didn't mock all DesktopAppInfo methods used by
gnome-shell, and https://gitlab.gnome.org/GNOME/glib/-/issues/3744
still hasn't been fixed.

Add the methods that are needed for the AppMenu, which hopefully are
all the remaining DesktopAppInfo methods we are using.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/8587
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3832>

14 months agoUpdate Catalan translation
Jordi Mas [Sun, 10 Aug 2025 07:27:38 +0000 (09:27 +0200)]
Update Catalan translation

14 months agoBump version to 49.beta.1
Jordan Petridis [Sat, 9 Aug 2025 16:42:24 +0000 (19:42 +0300)]
Bump version to 49.beta.1

Update NEWS.

In this case we don't need to bump the required mutter
version from 49.beta

14 months agoci: Export testlog from the dist job as well
Jordan Petridis [Sat, 9 Aug 2025 17:22:13 +0000 (20:22 +0300)]
ci: Export testlog from the dist job as well

14 months agoci: Update MUTTER_CI_IMAGE tag
Jordan Petridis [Sat, 9 Aug 2025 17:08:16 +0000 (20:08 +0300)]
ci: Update MUTTER_CI_IMAGE tag

14 months agoUpdate Slovenian translation
Martin [Fri, 8 Aug 2025 22:33:29 +0000 (22:33 +0000)]
Update Slovenian translation

14 months agounlockDialog: Show media notifications on lock screen
Florian Müllner [Sun, 26 Feb 2017 13:55:48 +0000 (14:55 +0100)]
unlockDialog: Show media notifications on lock screen

While we have included a built-in media section in the calendar for
a while, it is currently only available when the session is unlocked.
The ability to quickly pause or resume media playback directly from
the lock screen is quite handy though, so start showing them alongside
the existing screen shield notifications.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/488
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3306>

14 months agomessageList: Export MediaMessage
Florian Müllner [Thu, 15 Feb 2018 12:55:34 +0000 (13:55 +0100)]
messageList: Export MediaMessage

This will allow reusing it on the lock screen.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3306>

14 months agomediaMessage: Don't try to raise player while locked
Florian Müllner [Thu, 15 Feb 2018 13:14:07 +0000 (14:14 +0100)]
mediaMessage: Don't try to raise player while locked

We don't allow windows on the lock screen, so don't raise a
player window while locked, as the result of the action would
only become visible on unlock.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3306>

15 months agoUpdate Russian translation
Artur S0 [Fri, 8 Aug 2025 13:33:02 +0000 (13:33 +0000)]
Update Russian translation

15 months agosearch: Show spinner while searching
Piotr Marendowski [Tue, 5 Aug 2025 10:37:39 +0000 (12:37 +0200)]
search: Show spinner while searching

Ongoing operations are usually represented by an animation, so
the static "Searching…" label may appear as if the operation was
stuck.

Address this by adding a spinner to indicate that a search has
been started, but there aren't any results yet.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/8244
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3827>

15 months agobrightnessManager: Handle backlights with limited number of steps
Sebastian Wick [Wed, 6 Aug 2025 08:54:04 +0000 (10:54 +0200)]
brightnessManager: Handle backlights with limited number of steps

Adjusts how many steps a BrightnessScale has to ensure that every
stepUp/stepDown results in a visible change.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3826>

15 months agobrightnessManager: Move code around for the following commit
Sebastian Wick [Wed, 6 Aug 2025 08:52:46 +0000 (10:52 +0200)]
brightnessManager: Move code around for the following commit

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3826>

15 months agobrightnessManager: Change the number of BrightnessScale steps to 20
Sebastian Wick [Tue, 5 Aug 2025 08:27:05 +0000 (10:27 +0200)]
brightnessManager: Change the number of BrightnessScale steps to 20

This aligns with what g-s-d was using.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3826>

15 months agobrightnessManager: Make the steps of a BrightnessScale variable
Sebastian Wick [Tue, 5 Aug 2025 08:32:39 +0000 (10:32 +0200)]
brightnessManager: Make the steps of a BrightnessScale variable

This allows each brightness scale to use different number of steps when
using stepUp/stepDown. We will use this in the following commits to
better deal with backlights which have a limited amount of discrete
steps.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3826>

15 months agobrightnessManager: Clean up initialization of BrightnessScale
Sebastian Wick [Tue, 5 Aug 2025 08:31:51 +0000 (10:31 +0200)]
brightnessManager: Clean up initialization of BrightnessScale

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3826>

15 months agoPort to gjs-1.85/girepository-2.0
Florian Müllner [Wed, 16 Jul 2025 17:06:34 +0000 (19:06 +0200)]
Port to gjs-1.85/girepository-2.0

gjs ported from the stand-alone gobject-introspection-1.0 to the
new girepository-2.0 library bundled with glib.

Bump the requirements for gjs/glib and adjust to the (fairly minor)
changes.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3801>

15 months agoenvironment: Work around introspection issue
Florian Müllner [Mon, 4 Aug 2025 06:04:30 +0000 (08:04 +0200)]
environment: Work around introspection issue

Methods of all classes from GioUnix erroneously show up as static
methods, see https://gitlab.gnome.org/GNOME/glib/-/issues/3744.

Work around this by defining the methods ourselves if we detect
that case.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3801>

15 months agoUpdate Chinese (Taiwan) translation
Cheng-Chia Tseng [Wed, 6 Aug 2025 02:49:45 +0000 (02:49 +0000)]
Update Chinese (Taiwan) translation

(cherry picked from commit 42b58bcd0128fa86786f2c89a41153742e6f26da)

15 months agoUpdate Brazilian Portuguese translation
Rafael Fontenelle [Wed, 6 Aug 2025 02:46:28 +0000 (02:46 +0000)]
Update Brazilian Portuguese translation

15 months agoMark one string for translation
Rafael Fontenelle [Wed, 6 Aug 2025 02:33:20 +0000 (02:33 +0000)]
Mark one string for translation

15 months agobrightnessManager: Fix stepping up/down via shortcuts
Florian Müllner [Sun, 3 Aug 2025 20:32:40 +0000 (22:32 +0200)]
brightnessManager: Fix stepping up/down via shortcuts

The `BrightnessScale.value` property was originally called `brightness`,
and the methods used for keyboard shortcuts somehow missed the name change.

As a result, the methods try to set the brightness to `undefined`, which
is out of range and thus fails.

Use the correct property name to fix the shortcuts.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/8570
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3825>

15 months agoUpdate Slovenian translation
Martin [Mon, 4 Aug 2025 14:08:29 +0000 (14:08 +0000)]
Update Slovenian translation

15 months agoUpdate Galician translation
Fran Diéguez [Sun, 3 Aug 2025 22:50:28 +0000 (22:50 +0000)]
Update Galician translation

15 months agonetwork: Clear connectivity queue after portal login
Michael Catanzaro [Mon, 28 Jul 2025 11:38:51 +0000 (13:38 +0200)]
network: Clear connectivity queue after portal login

When full connectivity (or rather, non-portal connectivity) is achieved,
we can clear all active portal helpers.

Normally, the portal helper will signal that it is done, but it is
implemented in a racy manner. So here let's do a comprehensive big
hammer solution to guarantee the portal helper definitely gets
eventually closed even if we miss the race window in the portal helper.
(The race is: the portal helper checks connectivity status either
immediately or within a certain amount of time after a navigation policy
decision. This could theoretically be too soon, and if missed, it won't
be rescheduled.)

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3813>

15 months agoportalHelper: Add extra check for policy decision type
Michael Catanzaro [Sun, 27 Jul 2025 15:35:58 +0000 (17:35 +0200)]
portalHelper: Add extra check for policy decision type

This check will always be true currently, because there are only three
possible types of policy decisions, and both of the others are already
handled above. But if new policy decision types are ever added in the
future, then we probably don't want to execute this code.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3813>

15 months agoportalHelper: Reduce the connectivity check rate limit
Michael Catanzaro [Sun, 27 Jul 2025 14:44:02 +0000 (16:44 +0200)]
portalHelper: Reduce the connectivity check rate limit

30 seconds is much too long for GNOME Shell to notice that full
connectivity has been achieved. The portal helper is expected to be
closed once connectivity is achieved.

Note this does NOT mean we unconditionally spam the connectivity check
server every 5 seconds. A connectivity check is still only scheduled
when an actual navigation occurs.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3813>

15 months agoportalHelper: Schedule recheck if it's too soon to recheck
Michael Catanzaro [Sun, 27 Jul 2025 14:40:51 +0000 (16:40 +0200)]
portalHelper: Schedule recheck if it's too soon to recheck

Currently we have a 30 second limit on rechecks. A recheck that would
violate the limit is simply dropped. This causes the portal helper to
never close itself.

Instead, schedule a future recheck for as soon as the timeout expires.
This will put an upper bound on how long the portal helper will
unnecessarily remain open.

(I've also changed the logic to unconditionally emit CANCELLED in
vfunc_close_request(), since this seems more correct. This won't
actually affect anything, because gnome-shell just ignores the
CANCELLED status, but in theory it's nice to end things with an
indication that we are finished. Otherwise, CANCELLED will never be
emitted.)

Closes https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/7790

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3813>

15 months agoportalHelper: Rename Done signal to StatusChanged
Michael Catanzaro [Sun, 27 Jul 2025 12:07:27 +0000 (14:07 +0200)]
portalHelper: Rename Done signal to StatusChanged

The name Done is incorrect because the result type may be RECHECK. In
this case, we are not done.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3813>

15 months agodata: Add missing new line to dash.txt and system-folder.txt
AsciiWolf [Sat, 2 Aug 2025 09:22:42 +0000 (11:22 +0200)]
data: Add missing new line to dash.txt and system-folder.txt

To make it consistent with other files

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3821>

15 months agodata: Fix sorting by name in System folder
Daniel Rusek [Sat, 2 Aug 2025 08:48:26 +0000 (08:48 +0000)]
data: Fix sorting by name in System folder

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3821>

15 months agoBump version to 49.beta
Florian Müllner [Sun, 3 Aug 2025 09:55:44 +0000 (11:55 +0200)]
Bump version to 49.beta

Update NEWS.

15 months agoshellDBus: Add the Shell.Brightness interface
Sebastian Wick [Sat, 21 Jun 2025 22:12:09 +0000 (00:12 +0200)]
shellDBus: Add the Shell.Brightness interface

This lets gnome-settings-daemon control dimming for power saving, and
set a auto brightness target for brightness sensors. This finally let's
us drop direct backlight control from g-s-d.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3751>

15 months agoshellDBus: Move loading the interface XML to the top
Sebastian Wick [Sat, 21 Jun 2025 22:11:41 +0000 (00:11 +0200)]
shellDBus: Move loading the interface XML to the top

Where the rest of the interfaces get loaded.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3751>

15 months agobrightnessManager: Add keyboard shortcuts for monitor brightness control
Sebastian Wick [Sat, 21 Jun 2025 22:10:04 +0000 (00:10 +0200)]
brightnessManager: Add keyboard shortcuts for monitor brightness control

This used to be done by g-s-d but to avoid the split brain situation,
g-s-d has to stop poking at the backlight directly. This also means that
there is no reason to round-trip through g-s-d anymore, and we can just
implement the shortcuts in gnome shell.

This also adds new shortcuts for controling the backlight of the "active
monitor" (i.e. the one with the cursor) by pressing shift as well.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3751>

15 months agostatus/brightness: Handle multiple monitors
Sebastian Wick [Sat, 21 Jun 2025 22:07:50 +0000 (00:07 +0200)]
status/brightness: Handle multiple monitors

The BrightnessManager exposes a global scale and per monitor scales
which we can also hook up to give users control over individual monitor
brightnesses. If there are more than one controllable backlight, the
brightness slider in quick settings becomes expandable and shows a
slider for each monitor with controllable backlight.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3751>

15 months agobrightnessManager: Handle dimming and auto brightness
Sebastian Wick [Sat, 21 Jun 2025 22:06:27 +0000 (00:06 +0200)]
brightnessManager: Handle dimming and auto brightness

We don't want gnome-settings-daemon to poke directly at mutters
backlight anymore because that would be a split brain situation where
g-s and g-s-d will fight with each other. This implements a way to tell
the BrightnessManager to dim the screen and set an auto brightness
target, and the manager will set the backlight accordingly.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3751>

15 months agostatus/brightness: Switch to the new BrightnessManager
Sebastian Wick [Sat, 21 Jun 2025 22:17:11 +0000 (00:17 +0200)]
status/brightness: Switch to the new BrightnessManager

Instead of looking at the monitor backlights directly, connect to the
BrightnessManager global scales. Everything should continue working as
before, this simply gives the BrightnessManager control over the actual
backlight with the quick settings brightness sliders being one input.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3751>

15 months agobrightnessManager: Handle monitor backlight brightness
Sebastian Wick [Sat, 21 Jun 2025 22:16:56 +0000 (00:16 +0200)]
brightnessManager: Handle monitor backlight brightness

This implements a backlight manager which creates a global and multiple
per monitor BrightnessScales and updates the backlight based on the
BrightnessScales changing and the backlight changing. It shows the OSD
in response to changes.

In the future it will also handle dimming, auto brightness and keyboard
shortcuts.

The idea is that the per monitor scale changes the ratio between monitor
brighnesses and the global scale scales the monitor brightnesses
accordingly.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3751>

15 months agoosdWindow: Take per-monitor information in show and add showAll, showOne
Sebastian Wick [Wed, 2 Jul 2025 10:23:51 +0000 (12:23 +0200)]
osdWindow: Take per-monitor information in show and add showAll, showOne

The current API only supports showing an OSD on all monitors or on one
monitor. This change makes it possible to show the OSD on any
combination of monitors while providing simpler functions for the common
usages.

It still retains the single-event character and cancels previous OSDs on
unaffected monitors.

We will require this for the screen brightness keyboard shortcuts in the
future.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3751>

15 months agoUpdate Galician translation
Fran Diéguez [Sat, 2 Aug 2025 20:58:07 +0000 (20:58 +0000)]
Update Galician translation

15 months agodata: Fix Yelp desktop file name
Daniel Rusek [Mon, 23 Jun 2025 11:38:24 +0000 (11:38 +0000)]
data: Fix Yelp desktop file name

Renamed in https://gitlab.gnome.org/GNOME/yelp/-/commit/8e4fb61fff97cb37b6197479c506062c9188aee0

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3762>

15 months agoUpdate Slovenian translation
Martin [Fri, 1 Aug 2025 10:44:59 +0000 (10:44 +0000)]
Update Slovenian translation

15 months agodbusServices/extensions: Remove custom stylesheet
Florian Müllner [Thu, 22 May 2025 02:41:11 +0000 (04:41 +0200)]
dbusServices/extensions: Remove custom stylesheet

There is no custom styling left :-)

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3750>

15 months agodbusServices/extensions: Stop using an expander for error details
Florian Müllner [Thu, 22 May 2025 02:26:19 +0000 (04:26 +0200)]
dbusServices/extensions: Stop using an expander for error details

Always show the error details up front instead of hiding them in an
expander. Other then getting rid of custom widgetry, this solves
the awkwardness of switching between very little content (which
is best suited by a small window size) to very verbose content
(which favors a tall window).

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/8413
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3750>

15 months agodbusServices/extensions: Remove ineffective CSS
Florian Müllner [Thu, 22 May 2025 02:27:15 +0000 (04:27 +0200)]
dbusServices/extensions: Remove ineffective CSS

The selector should be `preferencespage.error-page` to actually
match.

Nobody has been missing the missing style, so just remove it.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3750>

15 months agodbusServices/extensions: Mention website in description
Florian Müllner [Thu, 22 May 2025 01:53:43 +0000 (03:53 +0200)]
dbusServices/extensions: Mention website in description

If the extension specifies a website, mention it in the description
instead of having a dedicated button in the expander toolbar.

This will allow us to get rid of the toolbar altogether soon.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3750>

15 months agodbusServices/extensions: Mention extension name in description
Florian Müllner [Thu, 22 May 2025 01:25:00 +0000 (03:25 +0200)]
dbusServices/extensions: Mention extension name in description

The extension name is still useful information, so mention it in
the description now that it is no longer in the title.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3750>

15 months agodbusServices/extensions: Change dialog title on error
Florian Müllner [Thu, 22 May 2025 01:33:05 +0000 (03:33 +0200)]
dbusServices/extensions: Change dialog title on error

As the dialog title is the only header element now, it should
indicate the error condition.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3750>

15 months agodbusServices/extensions: Remove status header
Florian Müllner [Thu, 22 May 2025 01:45:56 +0000 (03:45 +0200)]
dbusServices/extensions: Remove status header

It is too dominant visually, and leads to a somewhat odd
"double header" in combination with the dialog title.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3750>

15 months agodbusServices/extensions: Add tooltip to copy button
Florian Müllner [Wed, 11 Jun 2025 22:09:41 +0000 (00:09 +0200)]
dbusServices/extensions: Add tooltip to copy button

This is an oversight: Icon buttons need either a tooltip or an
accessible label. In this case, a tooltip seems appropriate[0].

[0] https://developer.gnome.org/hig/patterns/feedback/tooltips.html#tooltips

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3750>

15 months agodbusServices/extensions: Use static class blocks for gtype registration
Florian Müllner [Thu, 22 May 2025 01:22:49 +0000 (03:22 +0200)]
dbusServices/extensions: Use static class blocks for gtype registration

Static class blocks are a more readable alternative to _classInit(),
provided we make sure to call registerClass() first.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3750>

15 months agodbusServices/extensions: Use regular constructors
Florian Müllner [Thu, 22 May 2025 01:27:51 +0000 (03:27 +0200)]
dbusServices/extensions: Use regular constructors

Regular constructors have worked for GObject subclasses for a couple
of years now. While there is no functional difference to _init(),
it's simply nicer to use the same syntax for all classes, so quickly
change that before doing further changes.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3750>

15 months agoConnect to DnD signals using connectObject()
Jonas Dreßler [Sat, 5 Nov 2022 21:36:47 +0000 (22:36 +0100)]
Connect to DnD signals using connectObject()

Currently DnD uses `disconnectAll()` in a `::destroy` signal handler for
the drag actor. This is a little weird, as usually the connecting object
is in charge of disconnecting as well.

Since we have some nice convenience API for this nowadays, use
`connectObject()` when connecting to DnD signals in the various draggable
actors that we have, which ensures the signal is disconnected as soon as
the draggable actors get destroyed.

This allows removing the call to `disconnectAll()` in DnD.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3796>

15 months agosmartcardManager: Properly disconnect signal connections from tokens
Jonas Dreßler [Thu, 24 Jul 2025 23:30:29 +0000 (01:30 +0200)]
smartcardManager: Properly disconnect signal connections from tokens

The `token.disconnectAll()` call here is not going to work: The method is
provided by gjs as convenience for native JS objects (added to an object
using `Signals.addSignalMethods()`). The token here meanwhile is a GObject,
which doesn't have a `disconnectAll()` method.

To make it (hopefully) work as intended, use the convenience functions
that we actually do add to GObjects, that is `connectObject()` and
`disconnectObject()`.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3796>

15 months agostatus/thunderbolt: Connect to signals using connectObject
Jonas Dreßler [Thu, 24 Jul 2025 23:08:01 +0000 (01:08 +0200)]
status/thunderbolt: Connect to signals using connectObject

To ensure that we disconnect from those signals when the Indicator goes
away, use the `connectObject()` convenience function.

This also allows removing the call to `disconnectAll()` in the AuthRobot
`close()` method.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3796>

15 months agostatus/thunderbolt: Actually connect onDestroy callback
Jonas Dreßler [Thu, 24 Jul 2025 23:13:03 +0000 (01:13 +0200)]
status/thunderbolt: Actually connect onDestroy callback

Seems this was forgotten in the initial commit adding the new indicator.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3796>

15 months agoappDisplay: Set popup menu side via parameter to AppIcon class
Jonas Dreßler [Mon, 24 Jul 2023 20:22:49 +0000 (22:22 +0200)]
appDisplay: Set popup menu side via parameter to AppIcon class

Let's make the "side" argument to the popupMenu() function for app icons
a param to the AppIcon class itself. The side is not that dynamic that it
needs to be defined on calling of the function, instead it can be defined
on creation of the AppIcon as well.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3796>

15 months agobarLevel: Remove redundant cairo fill calls
Khalid Abu Shawarib [Wed, 30 Jul 2025 16:30:52 +0000 (19:30 +0300)]
barLevel: Remove redundant cairo fill calls

Drop the redundant fillPreserve() calls where there already is a fill().
This is also caused by 6fd0aac86.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3817>

15 months agoslider: Don't preserve paths after filling
Sebastian Keller [Wed, 30 Jul 2025 13:24:29 +0000 (15:24 +0200)]
slider: Don't preserve paths after filling

Prior to 6fd0aac86 the paths were preserved when filling to allow
stroking the path afterwards. The stroke() then would have cleared the
path. Then when the stroking was dropped in that commit, a second fill()
call, this time without preserving the path was added, but missed from
the end arc of the bar level. This then would leak the path to the
slider handle.

Fix this by always using fill() instead of fillPreserve().

Fixes: 6fd0aac86 ("slider: Remove border drawing code add hover style")
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3817>

15 months agoci: Stop including eslint/jsdoc in image
Florian Müllner [Tue, 10 Jun 2025 12:50:27 +0000 (14:50 +0200)]
ci: Stop including eslint/jsdoc in image

We no longer use the globally installed packages, so stop adding
them.

Given that recent versions of eslint make it increasingly hard to
install the package globally, this was bound to happen eventually
anyway.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3746>

15 months agoci: Use run-eslint.sh wrapper to lint code snippets in docs
Florian Müllner [Tue, 10 Jun 2025 11:32:08 +0000 (13:32 +0200)]
ci: Use run-eslint.sh wrapper to lint code snippets in docs

This means we only have to deal with a single entry point for
eslint, plus we get the option to produce fancy MR reports.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3746>

15 months agotools: Add rules override for code snippets in docs
Florian Müllner [Tue, 10 Jun 2025 09:00:52 +0000 (11:00 +0200)]
tools: Add rules override for code snippets in docs

The snippets don't have context, so any rules that catch undefined
or unused stuff don't apply.

We currently disable those rules via command-line parameters. Including
it in the config instead will allow to re-use the run-eslint.sh wrapper.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3746>

15 months agolint: Remove old configuration
Florian Müllner [Tue, 10 Jun 2025 01:12:58 +0000 (03:12 +0200)]
lint: Remove old configuration

It is unused after the switch to the new flat config format.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3746>

15 months agoci: Use script from tools to run eslint
Florian Müllner [Tue, 10 Jun 2025 01:15:21 +0000 (03:15 +0200)]
ci: Use script from tools to run eslint

Now that we include a more public version of the script, there
is no reason to keep the original script just for CI.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3746>

15 months agotools: Switch to flat config for eslint
Florian Müllner [Tue, 10 Jun 2025 01:11:05 +0000 (03:11 +0200)]
tools: Switch to flat config for eslint

Both the .json and .yml config formats are deprecated in favor
of flat configs exported from eslint.config.js files.

The good news is that gjs' config is now available as a shared
config from the `eslint-config-gnome` package in World/javascript,
so we no longer have to copy the entire thing.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3746>

15 months agotools: Add run-eslint.sh script
Florian Müllner [Tue, 10 Jun 2025 00:36:50 +0000 (02:36 +0200)]
tools: Add run-eslint.sh script

The script is a small wrapper around the `ci-run-eslint` package
from World/javascript, which is a generalized and improved version
of the .gitlab-ci/run-eslint script we are currently using.

It only requires `npm` to be available, so it simplifies running
eslint locally quite a lot.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3746>

15 months agoRequire gjs >= 1.81.2 for build because Intl.Segmenter is needed
Mike FABIAN [Wed, 30 Jul 2025 09:53:47 +0000 (11:53 +0200)]
Require gjs >= 1.81.2 for build because Intl.Segmenter is needed

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3816>

15 months agopanel: Remove AppMenu button
Florian Müllner [Wed, 14 May 2025 23:15:59 +0000 (01:15 +0200)]
panel: Remove AppMenu button

The indicator was removed more than two years ago in commit 3ea672ef.

There have been no discussions on bringing it back since then, so
it's safe to assume that the code is dead and can be removed.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3815>